Touch systems are well known in the art and typically include a touch screen or panel having a touch surface on which contacts are made using a pointer in order to generate user input. Pointer contacts with the touch surface are detected and are used to generate corresponding output depending on areas of the touch surface where the contacts are made. Common touch systems utilize analog resistive, electromagnetic, capacitive, acoustic or machine vision to identify pointer interactions with the touch surface.
For example, International PCT Application No. PCT/CA01/00980 filed on Jul. 5, 2001 and published under No. WO 02/03316 on Jan. 10, 2002, assigned to SMART Technologies Inc., assignee of the present application, discloses a camera-based touch system comprising a touch screen that defines a touch surface on which a computer-generated image is presented. Depending on the application, a front or rear projection device may be used to project the image that is visible on the touch surface. A rectangular bezel or frame surrounds the touch surface and supports wide-angle digital cameras at its corners. The digital cameras have overlapping fields of view that encompass and look generally across the entire touch surface from different viewpoints. The digital cameras acquire images looking across the touch surface and generate image data. Image data acquired by the digital cameras is processed by digital signal processors to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors convey pointer characteristic data to a master controller, which in turn processes the pointer characteristic data to determine the location of the pointer in (x,y)-coordinates relative to the touch surface using triangulation. The pointer coordinate data is conveyed to a computer executing one or more applications programs. The computer uses the pointer coordinate data to update the computer-generated image that is presented on the touch surface. Pointer contacts on the touch surface can therefore be recorded as writing or drawing or used to control execution of applications programs executed by the computer.
In many environments such as in teaching institutions, large scale touch systems are desired so that visible presentations can be made to large groups. To satisfy this need, a large scale touch system as disclosed in U.S. patent application Ser. No. 10/750,219 to Hill et al. and assigned to SMART Technologies Inc., assignee of the subject application, has been developed. This large scale touch system includes a touch panel having a plurality of input sub-regions. The input sub-regions overlap to define a generally contiguous input surface. Each coordinate input sub-region comprises a set of wide-angle digital cameras having different viewpoints that look across an associated portion of the input surface. Each input sub-region processes image data captured by the digital cameras and generates pointer coordinate data in response to pointer contacts on the associated portion of the input surface. The pointer coordinate data is processed to update image data presented on the input surface. When a pointer contact is made on a coordinate input sub-region that does not overlap with an adjacent coordinate input sub-region, the coordinate input sub-region processes acquired images to derive pointer data and triangulates the position of the pointer using the derived pointer data thereby to determine the position of the pointer contact relative to the input surface. When a pointer contact is made on a coordinate input sub-region that overlaps with an adjacent coordinate input sub-region, each overlapping coordinate input sub-regions processes acquired images to derive pointer data and triangulates the position of the pointer using the derived pointer data. Thereafter, the triangulated positions generated by the overlapping coordinate input sub-regions are processed in accordance with defined logic thereby to determine the position of the pointer contact relative to the input surface.
Although the above touch systems work extremely well, resolution issues arise as the size of the touch surface increases. Typically cameras with very wide fields of view are employed so that each camera sees the entire touch surface. However, when a pointer is brought into contact with the touch surface at a location that is far from one or more of the cameras, the pointer may appear very small to those cameras. In fact, to the cameras, the pointer may appear to be only one (1) or two (2) pixels wide making pointer detection difficult and unreliable. As will be appreciated, there is a need to improve pointer detection especially in touch systems having very large touch surfaces.
It is therefore an object of the present invention to provide a novel interactive input system and method.